1971F - Circle Perimeter - CodeForces Solution


binary search dfs and similar implementation

Please click on ads to support us..

Python Code:

import math

def count(r):
    count = 1+4*r+4*(sum(math.isqrt(r**2-a**2) for a in range(1,r)))
    return count
def c_cir(r):
	result = 0
	for x in range(1, r):
	    ySquare = r*r - x*x 
	    y = int(math.sqrt(ySquare))
	    if (y*y == ySquare):result += 4
	return result 
for _ in range(int(input())):
    r = int(input())
    print(count(r+1)-count(r)-c_cir(r+1)+c_cir(r))


Comments

Submit
0 Comments
More Questions

17A - Noldbach problem
1350A - Orac and Factors
1373A - Donut Shops
26A - Almost Prime
1656E - Equal Tree Sums
1656B - Subtract Operation
1656A - Good Pairs
1367A - Short Substrings
87A - Trains
664A - Complicated GCD
1635D - Infinite Set
1462A - Favorite Sequence
1445B - Elimination
1656C - Make Equal With Mod
567A - Lineland Mail
1553A - Digits Sum
1359B - New Theatre Square
766A - Mahmoud and Longest Uncommon Subsequence
701B - Cells Not Under Attack
702A - Maximum Increase
1656D - K-good
1426A - Floor Number
876A - Trip For Meal
1326B - Maximums
1635C - Differential Sorting
961A - Tetris
1635B - Avoid Local Maximums
20A - BerOS file system
1637A - Sorting Parts
509A - Maximum in Table